import sys
from PyQt5.QtWidgets import QApplication, QWidget,QPushButton,QHBoxLayout,QVBoxLayout
from PyQt5.QtCore import pyqtSlot

#------------------------------------------------------
def init_widget(w:QWidget):
    # 设置窗口标题
    w.setWindowTitle("布局")
    # w.resize(640, 480)
    
    #创建布局
    layout = QHBoxLayout()
    #给Widget根容器设置布局方式
    w.setLayout(layout)
    
    #第一列
    layout.addWidget(QPushButton("按钮1"))
    #第二列
    layout_col2 = QVBoxLayout()
    layout_col2.addWidget(QPushButton("按钮2"))
    layout_col2.addWidget(QPushButton("按钮3"))
    layout.addLayout(layout_col2)
    #第三列
    layout_col3 = QVBoxLayout()
    layout_col3.addWidget(QPushButton("按钮4"))
    layout_col3.addWidget(QPushButton("按钮5"))
    layout_col3.addWidget(QPushButton("按钮6"))
    layout.addLayout(layout_col3)
    #第四列
    layout_col4 = QVBoxLayout()
    layout_col4.addWidget(QPushButton("按钮7"))
    layout_col4.addWidget(QPushButton("按钮8"))
    layout_col4.addWidget(QPushButton("按钮9"))
    layout_col4.addWidget(QPushButton("按钮10"))
    layout.addLayout(layout_col4)
    
   
    
if __name__ == "__main__":
    # 1.创建应用程序
    app = QApplication(sys.argv)
    # 2.创建窗口
    w = QWidget()
    init_widget(w)
    # 3显示窗口
    w.show()
    # 4.等待窗口停止运行
    sys.exit(app.exec_())
